Preheat the oven to 400°F. Line sheet trays with parchment paper, set aside.
Lightly spray cream horn molds with cooking spray, set aside.
In a small bowl whisk together the egg and water, set aside.
One at a time, unfold one of the puff pastry sheets. Use a rolling pin to flatten it out.
Cut the pastry into 8 1-inch sections, and discard any scraps.
Starting at the tip of one of the molds, start to wrap a pastry strip around the mold. I like to gently press it together to seal. Place it seam side down onto a prepared sheet tray.
Brush the exposed pastry with the egg wash.
Bake for 14-16 minutes until puffed and golden brown. Let them cool on the sheet tray in the mold.
You will most likely have to bake in batches, so continue to wrap your molds while your batches are baking.
Once all of the horns are baked, transfer them to a wire rack to cool completely.
While you are waiting for them to cool, make the filling. Place the cream cheese into the body of a stand mixer with the whisk attachment. Whip until smooth.
Add the powdered sugar a little at a time until fully mixed in, and scrape down the sides as needed. Stir in the vanilla.
Slowly stream in the heavy cream until mixed in. Scrape down the sides, then place the mixer on medium-high speed and whip until stiff peaks form, about 1 minute.
Take out half of the cream and place it in a bowl. Add the cocoa powder to the stand mixer and mix it in until combined.
Lightly dust the horns with powdered sugar if using.
I like to use a pastry bag with an open star tip to fill the cream horns. Fill half of the cream horns with the vanilla cream and the other half with the chocolate cream, and serve immediately.